Fsa Dengan Output
Fsa Dengan Output
Mesin Moore
Suatu keterbatasan dari finite state automata yang sudah kita pelajari selama
ini keputusannya terbatas pada diterima atau ditolak. otomata tersebut biasa disebut
sebagai accepter, dalam hal ini finite state accepter. Kita bisa mengkonstruksi sebuah
finite state automata yang memiliki keputusan beberapa keluaran/output, dalam hal ini
otomata tersebut akan dikenal sebagai transducer. Pada mesin Moore, output akan
berasosiasi dengan state. Mesin Moore didefinisikan dalam 6 (enam) tupel, M = (Q, S,
d, S, D, l), dimana:
Q = himpunan state
S = himpunan symbol input
d = fungsi transisi
S = state awal, SÎ Q
D = himpunan output
l = fungsi output untuk setiap state
l (q1) =1
0 0
l (q2) =2
0 1 2
Misalkan saja Gambar 1. Mesin Moore untuk modulus 3
· 5 mod 3 = ?
input 5 dalam biner 101
bila kita masukkan 101 ke dalam mesin, urutan state yang dicapai: q0,q1,q2,q3
Perhatikan state terakhir yang dicapai adalah q2, l (q2) =2, maka 5 mod 3 = 2
· 10 mod 3 =?
input 10 dalam biner 1010
bila kita masukkan 1010 ke dalam mesin, urutan state yang dicapai: q0,q1,q2,q2, q1
l (q1) =1, maka 10 mod 3 = 1
Mesin Mealy
Bila output pada mesin Moore berasosiasi dengan state, maka output pada Mesin
Mealy akan berasosiasi dengan transisi. Mesin Mealy sendiri didefinisikan dalam 6
tupel, M = (Q, S, d, S, D, l), dimana:
Q = himpunan state
S = himpunan symbol input
d = fungsi transisi
S = state awal, SÎ Q
D = himpunan output
l = fungsi output untuk setiap transisi
Contoh
Mesin itu akan mengeluarkan output apakah menerima (Y) atau menolak (T), suatu
masukan. Dimana mesin akan mengeluarkan output ‘Y’ bila menerima untai yang
memiliki akhiran 2 simbol berturutan yang sama, atau secara formal dalam ekspresi
regular:
(0+1)*(00+11)
Contoh input yang diterima :
01011, 01100, 1010100, 10110100, 00, 11, 100, 011, 000, 111
Konfigurasi dari Mesin Mealy tersebut:
Q = {q0,q1,q2}
S = {0,1}
D = {Y,T}
S = q0
l (q0,0) = T
l (q0,1) = T
l (q1,0) = Y
l (q1,1) = T
0/Y
l (q2,0) = T
l (q2,1) =Y q1
0/T
q0 1/T 0/T
1/T
q2
1/Y
Gambar 2. Mesin Mealy
Ekivalensi Mesin Moore dan Mesin Mealy
Dari suatu Mesin Moore dapat dibuat Mesin Mealy yang ekivalen, begitu juga
sebaliknya. Untuk mesin Mealy pada gambar 2 dapat kita buat Mesin Moore yang
ekivalen yaitu gambar 3. Bisa kita lihat state pada mesin Moore dibentuk dari
kombinasi state pada Mealy dan banyaknya output. Karena jumlah state Mealy = 3,
dan jumlah output = 2, maka jumlah state pada Moore yang ekivalen = 6.
Bisa dilihat konfigurasi Mesin Moore yang dibentuk:
Q = {q0Y, q0T, q1Y,q1T, q2Y,q2T}
S = {0,1}
D = {Y,T}
S = q0
l (q0Y) = Y
l (q0T) = T
l (q1Y) = Y
l (q1T) = T
l (q2Y) = Y
l (q2T) = T
1
1
0
q0 T 0 q1 T q2 T
T
T T
1
0
0
0
1
0
Bila kita perhatikan dari gambar diatas, state q0Y dapat dihapus karena tidak
ada busur yang mengarah ke state tersebut.
Untuk memperoleh ekivalensi mesin Mealy dari suatu mesin Moore caranya lebih
mudah, cukup dengan menambahkan label output ke setiap transisi dan menghapus
label output pada setiap state. Kita lihat gambar 4 merupakan mesin Mealy yang
ekivalen dengan mesin Moore pada gambar 1.
Konfigurasi Mesin Mealy tersebut:
Q = {q0, q1, q2 }
S = {0,1}
D = {0,1,2}
S = q0
l (q0,0) = 0
l (q0,1) = 1
l (q1,0) = 2
l (q1,1) = 0
l (q2,0) = 1
l (q2,1) =2
0/0 1/2
q0 1/1 q1 0/2 q2
1/0 0/1