Finite State Dengan Output

30
FINITE STATE DENGAN OUTPUT

Transcript of Finite State Dengan Output

Page 1: Finite State Dengan Output

FINITE STATE DENGAN OUTPUT

Page 2: 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.

Page 3: Finite State Dengan Output

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

Page 4: Finite State Dengan Output

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.

Page 5: Finite State Dengan Output

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

Page 6: Finite State Dengan Output

MESIN MOORE (3) Langkah – langkahnya :

Supaya lebih teratur, label/penamaan state dibuat dengan pola :

himpunan state/output

q0/0 q1/1 q2/2

Page 7: Finite State Dengan Output

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

Page 8: Finite State Dengan Output

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

Page 9: Finite State Dengan Output

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

Page 10: Finite State Dengan Output

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

Page 11: Finite State Dengan Output

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

Page 12: Finite State Dengan Output

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

Page 13: Finite State Dengan Output

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

Page 14: Finite State Dengan Output

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

Page 15: Finite State Dengan Output

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

Page 16: Finite State Dengan Output

MESIN MOORE (13)

q0/1 q1/0

q3/1q2/0

a

aa

a

b

b

b

b

Page 17: Finite State Dengan Output

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

Page 18: Finite State Dengan Output

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.

Page 19: Finite State Dengan Output

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

Page 20: Finite State Dengan Output

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’.

Page 21: Finite State Dengan Output

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 :

Page 22: Finite State Dengan Output

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

Page 23: Finite State Dengan Output

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

Page 24: Finite State Dengan Output

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

Page 25: Finite State Dengan Output

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

Page 26: Finite State Dengan Output

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

Page 27: Finite State Dengan Output

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

Page 28: Finite State Dengan Output

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

Page 29: Finite State Dengan Output

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

Page 30: Finite State Dengan Output

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