Finite State Dengan Output

Post on 22-Jun-2015

536 views 30 download

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