Finite State Automata Pertemuan 2 Mahasiswa mampu menjelaskan

  • Slides: 32
Download presentation
Finite State Automata Pertemuan 2 Mahasiswa mampu menjelaskan arti, tujuan, definisi, dan Konsep Penerapan

Finite State Automata Pertemuan 2 Mahasiswa mampu menjelaskan arti, tujuan, definisi, dan Konsep Penerapan Finite State Automata

Materi Penerapan Finite State Automata Deterministic Finite Automata Non Deterministic Finite Automata Ekuivalensi Antar

Materi Penerapan Finite State Automata Deterministic Finite Automata Non Deterministic Finite Automata Ekuivalensi Antar Deterministic Finite Automata • Reduksi Jumlah state pada Finite State Automata • •

Penerapan Finite State Automata / otomata berhingga adalah suatu model matematika dari suatu mesin

Penerapan Finite State Automata / otomata berhingga adalah suatu model matematika dari suatu mesin yang menerima input dan output diskrit Contoh penerapan FSA yaitu pada mesin penterjemah bahasa Input Tape String Output Finite Automata “Accept” or “Reject” Gbr. Cara kerja FSA

Mesin FSA digambarkan dalam bentuk lingkaran dan busur, yang menjelaskan : 1. Lingkaran menyatakan

Mesin FSA digambarkan dalam bentuk lingkaran dan busur, yang menjelaskan : 1. Lingkaran menyatakan state/ kedudukan 2. Label pada lingkaran adalah sebuah nama state tersebut 3. Busur menyatakan transisi 4. Label pada busur menyatakan simbol input 5. Lingkaran didahului sebuah busur tanpa label meyatakan state awal 6. Lingkaran ganda menyatakan state akhir

FSA terdiri dari 5 tupel : M=(Q, ∑, δ, S, F) Dimana: Q =

FSA terdiri dari 5 tupel : M=(Q, ∑, δ, S, F) Dimana: Q = himpunan state / kedudukan ∑ = himpunan simbol input/ masukan δ = fungsi transisi S = state awal F = himpunan state akhir

FSA dapat dikelompokan menajdi : 1. Deterministic Finite automata (DFA) 2. Non deterministic finite

FSA dapat dikelompokan menajdi : 1. Deterministic Finite automata (DFA) 2. Non deterministic finite automata(NFA)

Deterministic Finite Automata (DFA) Gbr. Mesin 1

Deterministic Finite Automata (DFA) Gbr. Mesin 1

Deterministic Finite Automata (DFA) 5 tuple pada mesin 1 : Q = {q 0,

Deterministic Finite Automata (DFA) 5 tuple pada mesin 1 : Q = {q 0, q 1, q 2, q 3, q 4} ∑ = {a, b} S = q 0 F = {q 5} δ a b q 0 q 5 q 1 q 5 q 2 q 5 q 3 q 4 q 5 q 5 q 5 Apakah string “abba” dan “aba” dapat diterima oleh mesin 1 ?

head Konfigurasi awal Input Tape Input String Initial state

head Konfigurasi awal Input Tape Input String Initial state

Scanning the Input a

Scanning the Input a

Scanning the Input b

Scanning the Input b

Scanning the Input b

Scanning the Input b

Input finished Scanning the Input a Diterima (berakhir di state Akhir) Last state determines

Input finished Scanning the Input a Diterima (berakhir di state Akhir) Last state determines the outcome

A Rejection Case Input String

A Rejection Case Input String

Scanning the Input a

Scanning the Input a

Scanning the Input b

Scanning the Input b

Input finished Scanning the Input a Ditolak (tidakberakhir di state Akhir) Last state determines

Input finished Scanning the Input a Ditolak (tidakberakhir di state Akhir) Last state determines the outcome

Non Deterministic Finite State Automata (NFA) Gbr. Mesin 2

Non Deterministic Finite State Automata (NFA) Gbr. Mesin 2

Non Deterministic Finite State Automata (NFA) 5 tuple pada mesi 1 : Q =

Non Deterministic Finite State Automata (NFA) 5 tuple pada mesi 1 : Q = {q 0, q 1, q 2, q 3} ∑ = {a} S = q 0 F = {q 2} δ a q 0 {q 1, q 3} q 1 {q 2} q 2 {θ} q 3 {θ} Apakah string “aa” dapat diterima oleh mesin 2 ? Terdapat 2 pilihan yaitu :

1. Pilihan pertama Prof. Busch - LSU 20

1. Pilihan pertama Prof. Busch - LSU 20

1. Pilihan pertama Prof. Busch - LSU 21

1. Pilihan pertama Prof. Busch - LSU 21

1. Pilihan pertama All input is consumed “diterima”

1. Pilihan pertama All input is consumed “diterima”

2. Pilihan ke dua

2. Pilihan ke dua

Pilihan ke dua Input cannot be consumed Automaton Halts “ditolak”

Pilihan ke dua Input cannot be consumed Automaton Halts “ditolak”

Ekuivalensi Antar Deterministic Finite Automata • Dua DFA M 1 dan M 2 dinyatakan

Ekuivalensi Antar Deterministic Finite Automata • Dua DFA M 1 dan M 2 dinyatakan ekivalen apabila L(M 1) = L(M 2) 0 q 0 0 q 1 M 1 0 q 0 M 2

Reduksi Jumlah State Pada FSA Pasangan State dapat dikelompokkan berdasarkan: • Distinguishable State (dapat

Reduksi Jumlah State Pada FSA Pasangan State dapat dikelompokkan berdasarkan: • Distinguishable State (dapat dibedakan) Dua state p dan q dari suatu DFA dikatakan indistinguishable apabila: δ(q, w) F dan δ(p, w) F atau δ(q, w) ∉ F dan δ(p, w) ∉ F untuk semua w S* • Indistinguishable State ( tidak dapat dibedakan) Dua state p dan q dari suatu DFA dikatakan distinguishable jika ada string w S* hingga: δ(q, w) F dan δ(p, w) ∉ F

Reduksi Jumlah State Pada FSA - Relasi Pasangan dua buah state memiliki salah satu

Reduksi Jumlah State Pada FSA - Relasi Pasangan dua buah state memiliki salah satu kemungkinan : distinguishable atau indistinguishable tetapi tidak kedua-duanya. Dalam hal ini terdapat sebuah relasi : Jika dan maka p, r p dan q indistinguishable, q dan r indistinguishable dan p, q, r indistinguishable Dalam melakukan eveluasi state, didefinisikan suatu relasi : Untuk Q yg merupakan himpunan semua state – D adalah himpunan state-state distinguishable, dimana D Q – N adalah himpunan state-state indistinguishable, dimana N Q – maka x N jika x Q dan x D

Reduksi Jumlah State Pada FSA – Step Hapuslah semua state yg tidak dapat dicapai

Reduksi Jumlah State Pada FSA – Step Hapuslah semua state yg tidak dapat dicapai dari state awal (useless state) Buatlah semua pasangan state (p, q) yang distinguishable, dimana p F dan q F. Catat semua pasangan-pasangan state tersebut. • Cari state lain yang distinguishable dengan aturan: “Untuk semua (p, q) dan semua a ∑, hitunglah δ (p, a) = pa dan δ (q, a) = qa. Jika pasangan (pa, qa) adalah pasangan state yang distinguishable maka pasangan (p, q) juga termasuk pasangan yang distinguishable. • Semua pasangan state yang tidak termasuk sebagai state yang distinguishable merupakanstate-state indistinguishable. • Beberapa state yang indistinguishable dapat digabungkan menjadi satu state. • Sesuaikan transisi dari state-state gabungan tersebut. • •

Reduksi Jumlah State Pada FSA – Contoh Sebuah Mesin DFA q 1 0 0

Reduksi Jumlah State Pada FSA – Contoh Sebuah Mesin DFA q 1 0 0 0 q 0 1 1 0 q 3 Lakukan Reduksi state pada DFA diatas? q 4 1 q 2 0, 1 1 1 0 q 5

Reduksi Jumlah State Pada FSA – Step • State q 5 tidak dapat dicapai

Reduksi Jumlah State Pada FSA – Step • State q 5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state). Hapus state q 5 • Catat state-state distinguishable, yaitu : q 4 F sedang q 0, q 1, q 2, q 3 F sehingga pasangan (q 0, q 4) (q 1, q 4) (q 2, q 4) dan (q 3, q 4) adalah distinguishable. • Pasangan-pasangan state lain yang distinguishable diturunkan berdasarkan pasangan dari langkah 2, yaitu : – Untuk pasangan (q 0, q 1) δ(q 0, 0) = q 1 dan δ(q 1, 0) = q 2 belum teridentifikasi δ(q 0, 1) = q 3 dan δ(q 1, 1) = q 4 (q 3, q 4) distinguishable maka (q 0, q 1) adalah distinguishable. – Untuk pasangan (q 0, q 2) δ(q 0, 0) = q 1 dan δ(q 2, 0) = q 1 belum teridentifikasi δ(q 0, 1) = q 3 dan δ(q 2, 1) = q 4 (q 3, q 4) distinguishable maka (q 0, q 2) adalah distinguishable. Teori Bahasa dan Automata

Reduksi Jumlah State Pada FSA – Step • Setelah diperiksa semua pasangan state maka

Reduksi Jumlah State Pada FSA – Step • Setelah diperiksa semua pasangan state maka terdapat state-state yang distinguishable : (q 0, q 1), (q 0, q 2), (q 0, q 3), (q 0, q 4), (q 1, q 4), (q 2, q 4), (q 3, q 4) Karena berdasarkan relasi-relasi yang ada, tidak dapat dibuktikan (q 1, q 2), (q 1, q 3) dan (q 2, q 3) distinguishable, sehingga disimpulkan pasangan-pasangan state tersebut indistinguishable. • Karena q 1 indistinguishable dengan q 2, q 2 indistinguishable dengan q 3, maka dapat disimpulkan q 1, q 2, q 3 saling indistinguishable dan dapat dijadikan satu state. • Berdasarkan hasil diatas maka hasil dari DFA yang direduksi menjadi: 0, 1 0 q 0 0, 1 q 1, 2, 3 Teori Bahasa dan Automata 1 q 4

Kesimpulan reduksi

Kesimpulan reduksi