finite state machine / automataelearning.amikompurwokerto.ac.id/index.php/download/materi/... ·...

31
FINITE STATE MACHINE / AUTOMATA

Upload: lenhan

Post on 18-Feb-2018

251 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

FINITE STATE MACHINE / AUTOMATA

Page 2: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

BAHASA FORMAL

Dapat dipandang sebagai entitasabstrak, yaitu sekumpulan string yang berisi simbol-simbol alphabet

Dapat juga dipandang sebagai entitas-entitas abstrak yang dapat dikenali ataudibangkitkan oleh mesin komputasi

Mesin komputasi yang sesuai untuk kelas

bahasa ini

Finite State Machine / Automata

Page 3: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

FINITE AUTOMATA

Mesin abstrak berupa sistem modelmatematika dengan masukan dan keluarandiskrit yang dapat mengenali bahasasederhana dan dapat diimplementasikansecara nyata.

Page 4: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

FINITE AUTOMATA

Model matematika/graf yang dapatmenerima input dan mengeluarkan output

Memiliki state yang berhingga banyaknya dan dapatberpindah dari satu state ke state lainnya berdasarinput dan fungsi transisi

Tidak memiliki tempat penyimpanan/memory, hanya bisa mengingat state terkini.

Mekanisme kerja dapat diaplikasikan pada : elevator, text editor, pencek parity.

Page 5: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

(Q, ∑, δ, S, F)FSA / FSM Didefinisikan oleh 5 tupel :

FINITE STATE AUTOMATA

Q : himpunan hingga state

∑ : himpunan hingga simbol input (alfabet)

δ : fungsi transisi, menggambarkan transisi state FSA akibatpembacaan simbol input.(Fungsi transisi ini biasanya diberikan dalam bentuk tabelatau representasi lainnya.)

S : state AWAL (Start)F : himpunan state AKHIR (Final)

Page 6: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Finite State Automata dapat dimodelkan dengan Finite State Diagram (FSD) dapat juga disebut State Transition Diagram.

FINITE STATE DIAGRAM

Lingkaran bergaris tunggal berartistate sementara

Lingkaran bergaris ganda berarti state akhir

1. Lingkaran menyatakan stateLingkaran diberi label sesuai dengan nama state tersebut.

Adapun pembagian lingkaran adalah:

Page 7: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

2. Anak Panah menyatakan transisi yang terjadi

Label di anak panah menyatakan simbolyang membuat transisi dari 1 state ke state lain

1 anak panah diberi label start untukmenyatakan awal mula transisi dilakukan

Page 8: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Contoh:

FSA untuk mengecek parity angka 1 biner ganjil

Q ={Genap, Ganjil} himpunan state∑ ={0,1} himpunan simbol inputδ = fungsi transisi

S = Genap StartF = {Ganjil} Final state(ingat untuk himpunan harus ditulis di dalam {} )

Page 9: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

input : 1101 diterima mesin

input : 1100 ditolak mesin

input : 1011 diterima mesin

input : 11011 ditolak mesin

Genap

Genap

Ganjil

Ganjil

Page 10: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Maka:

Q = {Genap, Ganjil}

δ = {0,1}S = GenapF = {Ganjil}

Tabel Transisi:

δ (Genap,0) = Genapδ (Genap,1) = Ganjilδ (Ganjil,0) = Ganjilδ (Ganjil,1) = Genap

Page 11: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Jenis Finite State Automata

1.Deterministic Finite Automata (DFA) otomata berhingga yang pasti (tetap/tertentu)

dari suatu state ada tepat satu state berikutnyauntuk setiap simbol masukan yang diterima

2. Non-deterministic Finite Automata (NFA)

dari suatu state ada 0, 1 atau lebih state berikutnya untuk setiap simbol masukan yang diterima

otomata berhingga yang tidak pasti

Untuk NFA harus dicoba semua kemungkinanyang ada sampai terdapat satu yang mencapaistate akhir.

Page 12: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Deterministic Finite Automata (DFA)

Pada DFA dari suatu state ada tepat satu state berikutnya untuk setiap simbol input (masukan) yang di terima

Contoh : pengujian parity ganjil

Contoh lain : Pengujian untuk menerima bit string dengan banyaknya 0 genap, serta banyaknya 1 genap.

Page 13: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Pengujian untuk menerima bit string denganbanyaknya 0 genap, serta banyaknya 1 genap.

Diagram transisi-nya:

0011 : diterima.

10010 : ditolak, karena banyaknya 0 ganjil

DFA nyaQ = {q0 , q1 , q2 , q3 }δ = {0,1}S = q0F = { q0}

Page 14: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Fungsi Transisi

δ ( q0,011)= δ ( q2,11) = δ ( q3,1)= q2

Ditolak

δ ( q0,1010)= δ ( q1,010) = δ ( q3,10)= δ ( q2,0)= q0

Diterima

011

1010

Page 15: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Non-deterministic Finite Automata (NFA)

Perbedaan dengan DFA: fungsi transisi dapat memiliki 0 atau lebih fungsi transisi untuk setiap simbol inputan

Untuk NFA harus dicoba semua kemungkinan yang ada sampai terdapat satu yang mencapai state akhir.

String diterima NFA bila terdapat suatu urutan transisi berdasar input, dari state awal ke state akhir.

Page 16: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Contoh :

G = ({q0 , q1 , q2 , q3, q4 }, {0,1}, δ , q0 , { q2 , q4}}

Q = {q0 , q1 , q2 , q3, q4 }δ = {0,1}S = q0F = { q2, q4 }

Page 17: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Fungsi Transisi

Page 18: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Contoh : string 01001 Diterima

Page 19: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Reduksi FSAPasangan State

Distinguishable & Indistinguishable

Page 20: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Dua buah state dari FSA disebut indistinguishable (tidak dapat dibedakan)

apabila :δ (q,w) Є F sedangkan δ (p,w) Є F dan

δ (q,w) Є F sedangkan δ (p,w) Є F untuk semua w Є ∑ */

/

Dua buah state dari FSA disebut distinguishable

(dapat dibedakan) bila terdapat w Є ∑* sedemikian hingga:

δ (q,w) Є F sedangkan δ (p,w) Є F danδ (q,w) Є F sedangkan δ (p,w) Є F untuk semua w Є ∑ */

/

Page 21: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Prosedur Menentukan Pasangan Status Indistinguishable

1. Hapus semua state yang tak dapat dicapai daristate awal.

2. Catat semua pasangan state (p,q) yang distinguishable, yaitu {(p,q) | p Є F q Є F}

3. Untuk setiap pasangan (p,q) sisanya, buatlah tabel state dengan mengecek setiap pasangan satu persatu

/

Page 22: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Contoh

1. Hapus state yang tidak tercapai -> tercapai semua2. Pasangan distinguishable (q0,q4), (q1,q4), (q2,q4),

(q3,q4).3. Pasangan sisanya (q0,q1), (q0,q2), (q0,q3), (q1,q2)

(q1,q3) (q2,q3)

Page 23: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam
Page 24: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Prosedur Reduksi DFA

1. Tentukan pasangan status indistinguishable.

2. Gabungkan setiap group indistinguishable state ke dalam satu state dengan relasi pembentukan group secara berantai : Jika p dan q indistingishable dan jika q dan r indistinguishable maka p dan r indistinguishable, dan p,q serta r indistinguishable semua berada dalam satu group.

3. sesuaikan transisi dari dan ke state-state gabungan.

Page 25: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Contoh:

1. pasangan status indistinguishable (q1,q2), (q1,q3) dan (q2,q3).

2. q1,q2,q3 ketiganya dapat digabung dalam satu state q123

3. Menyesuaikan transisi, sehingga DFA menjadi

Page 26: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

EKUIVALENSI NFA-DFA

Algoritma :

1. Buat semua state yang merupakan subset dari state

semula

2. Telusuri transisi state–state yang baru terbentuk,

dari diagram transisi.

3. Tentukan state awal : {q0}

4. Tentukan state akhir adalah state yang elemennya

mengandung state akhir.

5. Reduksi state yang tak tercapai oleh state awal.

6. Rename nama-nama state yang tersisa.

Page 27: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Ubahlah NFA berikut menjadi DFA

Contoh :

M= {{q0,q1}, {0,1}, δ, q0,{q1}}

Jawab :

tabel transisi

Q = {q0 , q1}δ = {0,1}

S = q0F = { q1 }

Page 28: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

1. State yang akan dibentuk : {}, {q0} {q1},{q0,q1}

2. Telusuri state

3. State awal : {q0}

4. State akhir yang mengandung q1, yaitu {q1},{q0,q1}

Page 29: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

Diagram transisi-nya:

Page 30: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

0 1

q0 {q1,q2} {}

q1 {} {q0,q1}

q2 {q1} {q1}

•Diket: M={{q0,q1 ,q2}, {0,1}, , q0,{q1}} dengan tabel transisi sbb. Ubahlah NFA berikut menjadi DFA

Page 31: FINITE STATE MACHINE / AUTOMATAelearning.amikompurwokerto.ac.id/index.php/download/materi/... · Mesin komputasi yang sesuai untuk kelas ... otomata berhingga yang pasti ... dalam

SEKIAN………….