Finite State Dengan Output
Transcript of Finite State Dengan Output
FINITE STATE DENGAN OUTPUT
FINITE STATE TRANSDUCER FSA(Finite State Automata) hanya
memberikan status keluaran berupa “diterima” atau “ditolak” terhadap string masukan (FSA biasa disebut sebagai acceptor).
FST(Finite State Transducer) adalah mesin yang menerima string masukan dan menerjemahkannya menjadi string keluaran.
FINITE STATE TRANSDUCER Pendekatan perancangan FST :
FST yang keluarannya diasosiasikan dengan suatu state, disebut mesin Moore
FST yang keluarannya diasosiasikan dengan suatu transisi, disebut mesin Mealy
MESIN MOORE (1) Mesin Moore dinyatakan dengan 6-tuple
(Q,Σ,Δ,S,δ,λ), di mana : Q : himpunan berhingga state. Σ : himpunan berhingga simbol input Δ : himpunan simbol keluaran/output S : state awal δ : fungsi transisi λ : fungsi output untuk setiap state
Setiap input string menghasilkan output string dan tidak terdapat final state.
MESIN MOORE (2) Contoh Mesin Moore (1):
Konstruksilah mesin Moore yang menghasilkan output sisa pembagian suatu bilangan dengan 3 di mana input dinyatakan dalam biner!
Q = {q0,q1,q2}Σ = {0,1}Δ = {0,1,2}S = {q0}λ(q0) = 0λ(q1) = 1Λ(q2) = 2
MESIN MOORE (3) Langkah – langkahnya :
Supaya lebih teratur, label/penamaan state dibuat dengan pola :
himpunan state/output
q0/0 q1/1 q2/2
MESIN MOORE (4) Daftarkan bilangan yang membentuk pola sisa
pembagian dengan 3
Bil. desimal
Bil. biner Output (Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
MESIN MOORE (5) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
MESIN MOORE (6) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
0
MESIN MOORE (7) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
0
1
MESIN MOORE (8) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
0
1 0
MESIN MOORE (9) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
0
1 0
1
MESIN MOORE (10) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
0
1 0
1 0
MESIN MOORE (11) Berdasarkan tabel tersebut didapatkan mesin Moore
sebagai berikut :Bil.
desimalBil. biner Output
(Sisa bagi)
0 0 q0/0
1 1 q1/1
2 10 q2/2
3 11 q0/0
4 100 q1/1
5 101 q2/2
6 110 q0/0
7 111 q1/1
8 1000 q2/2
q0/0 q1/1 q2/2
0
1 0
1 0
1
MESIN MOORE (12) Contoh mesin Moore (2) :
Sebuah mesin Moore didefinisikan sebagai berikut :
Q = {q0,q1,q2,q3}
S = {q0} Σ = {a,b} Δ = {0,1} Himpunan fungsi transisi
didefinisikan pada tabel berikut :
State Input
a b
q0/1 q1/0 q3/1
q1/0 q3/1 q1/0
q2/0 q0/1 q3/1
q3/1 q3/1 q2/0
MESIN MOORE (13)
q0/1 q1/0
q3/1q2/0
a
aa
a
b
b
b
b
MESIN MOORE (14) Tentukan output dari input string abab?
Jwb:
Input a b a b
State q0/1 q1/0 q1/0 q3/1 q2/0
Output 1 0 0 1 0
MESIN MEALY(1) Mesin Mealy dinyatakan dengan 6-tuple
(Q,Σ,Δ,S,δ,λ), di mana : Q : himpunan berhingga state. Σ : himpunan berhingga simbol input Δ : himpunan simbol keluaran/output S : state awal δ : fungsi transisi λ : fungsi output untuk setiap transisi
Setiap input string menghasilkan output string dan tidak terdapat final state.
MESIN MEALY(2) Perbedaan dasar dari mesin Moore dengan
mesin Mealy ada pada fungsi output / keluaran. Moore lebih fokus ke state sedangkan Mealy lebih fokus ke transisi
q0/0 q1/1
Mesin Moore
aq0 q1
Mesin Mealy
a/1
MESIN MEALY(3) Contoh Mesin Mealy (1) :
Konstruksilah mesin Mealy yang menerima ekspresi regular (0+1)*(00+11)!
Q = {q0,q1,q2}Σ = {0,1}Δ = {Y,N}S = {q0}λ(q0,0) = Nλ(q0,1) = Nλ(q1,0) = Yλ(q1,1) = Nλ(q2,0) = Nλ(q2,1) = Y
Mesin akan mengeluarkan output ‘Y’ bila menerima untai yang memiliki akhiran 2 simbol berturutan yang sama, jika tidak mesin akan mengeluarkan output ‘N’.
MESIN MEALY(5)
State Input
0 1
q0 N N
q1 Y N
q2 N Y
q0
q1
q2
0/N
1/N
0/Y
1/Y
1/N 0/N
Berdasarkan fungsi output didapatkan tabel berikut :
MESIN MEALY(6) Contoh Mesin Mealy (2)
q0
q1
q2
q3
a/0
a/1
a/0
a/1
b/1
b/1
b/0
b/1
MESIN MEALY(7) Tentukan output dari input aaabb ?
Jwb :
Input a a a b b
State q0 q1 q3 q3 q0 q3
Output 0 1 1 1 0
EKUIVALENSI MESIN MOORE DAN MESIN MEALY Ekuivalensi Mesin Moore dengan Mesin
Mealy (1)
q1/t
a
b
n
q1
a/t
b/t
n/t
EKUIVALENSI MESIN MOORE DAN MESIN MEALY Ekuivalensi Mesin Moore dengan Mesin
Mealy (2)
q0/0 q1/1 q2/2
0
1 0
1 0
1
q0 q1 q2
0/0
1/1 0/2
1/0 0/1
1/2
EKUIVALENSI MESIN MOORE DAN MESIN MEALY Ekuivalensi Mesin Mealy dengan Mesin
Moore (1)
1/Y
q0
q1
q2
0/N
1/N
0/Y
1/N 0/N
EKUIVALENSI MESIN MOORE DAN MESIN MEALY
Langkah – langkahnya Himpunan output dari mesin Mealy tersebut adalah
{Y,N} dan himpunan statenya adalah {q0,q1,q2} maka kemungkinan jumlah state Moore yang ekuivalen = jumlah state Mesin Mealy x jumlah output Mesin Mealy = 6.
Namun perhatikan output dari mesin Mealy, jika salah satu state menerima 1 output saja berarti tidak perlu membagi state tersebut (pengecualian untuk state awal).
EKUIVALENSI MESIN MOORE DAN MESIN MEALYq0 :
q0/N q1
q2
0/N
1/N
0/Y
1/Y
1/N 0/N
q0/Y1/N
0/N
EKUIVALENSI MESIN MOORE DAN MESIN MEALYq1 :
q0/N q1/N
q2
0
1/N
0
1/Y
1/N 0
q1/Y
0
1/N
q0/Y
0
1/N
EKUIVALENSI MESIN MOORE DAN MESIN MEALYq2 :
q0/Nq1/N
q2/N
0
1
0
1
1 0
q1/Y
0
1
q2/Y
1
0
q0/N
0
1