Teori-Bahasa-dan-Otomata

Slides:



Advertisements
Presentasi serupa
Review Materi Widodo.com
Advertisements

Penggabungan dan Penyambungan
Teori Bahasa dan Automata
Teori Bahasa dan Otomata 2 sks
Ekuivalensi NDFA ke DFA dan NDFA dengan E-move
Pertemuan 4 Finite Automata
Oleh: BAGUS ADHI KUSUMA, ST
B. Deterministic Finite Automata(DFA) (Otomata Berhingga Deterministik) Pada DFA, dari suatu “state ada tepat satu state berikutnya untuk setiap simbol.
Pertemuan 4 Non Deterministic Finite Automaton (NFA)
Ekivalensi -move pada Non Deterministik FSO ke Deterministik FSO
Bab VII FINITE STATE AUTOMATA DENGAN OUTPUT.
Session 5 Finite Automata
BAB II FINITE STATE AUTOMATA.
Pertemuan 2 FINITE AUTOMATA (DFA & NFA)‏
OTOMATA HINGGA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
Pertemuan 3 BAHASA REGULAR
TEORI BAHASA DAN AUTOMATA
BAB III EKIVALENSI DFA KE NFA
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
Pertemuan 3 FINITE AUTOMATA
Teori Bahasa dan Automata
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
4. NFA DENGAN -MOVE.
Non Deterministic Finite Automata dengan є – Move
NDFA dengan ε-Move CSG3D3 | Teori Komputasi Agung Toto Wibowo
FINITE STATE AUTOMATA (FSA)
FINITE STATE AUTOMATA (FSA)
Teori-Bahasa-dan-Otomata
BAB II FINITE STATE AUTOMATA.
OTOMATA DAN TEORI BAHASA FORMAL
Finite State Automata: Reduksi Jumlah State
OTOMATA DAN TEORI BAHASA 8
Penggabungan dan Konkatenasi Finite State Automata
FINITE STATE AUTOMATA (FSA)
Teori Bahasa dan Automata
Teori Bahasa dan Automata
By : Lisda Juliana Pangaribuan
Teori-Bahasa-dan-Otomata
OTOMATA DAN TEORI BAHASA FORMAL
Teori-Bahasa-dan-Otomata
Reduksi Jumlah State pada Finite State Automata
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
OTOMATA DAN TEORI BAHASA FORMAL
BAB II FINITE STATE AUTOMATA.
OTOMATA DAN TEORI BAHASA 2
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
Pertemuan 6 KONVERSI NFA MENJADI DFA Lanjutan..
Bab VII FINITE STATE AUTOMATA DENGAN OUTPUT.
GABUNGAN & KONKATENASI
Teori-Bahasa-dan-Otomata
Finite State Automata ♦ model matematika yang dapat menerima input dan mengeluarkan output ♦ Memiliki state yang berhingga banyaknya dan dapat berpindah.
Otomata & Teori Bahasa ( Week 4 )
NFA dengan ε-move.
Pertemuan 4 Non Deterministic Finite Automaton (NFA)
Erwin Hidayat (M ) UTeM || 2010
Ekuivalensi NFA KE DFA *YANI*.
OTOMATA DAN TEORI BAHASA 3
Teori Bahasa dan Automata
Pertemuan4.
Tinjauan Instruksional Khusus:Mahasiswa akan dapat menjelaskan cara kerja Deterministic Finite Automata (DFA),Non-Deterministic Finite Automata (NDFA),Non.
OTOMATA DAN TEORI BAHASA 8.
Otomata & Teori Bahasa Finite State Automata: - Non Deterministic Finite Automata dengan -move - Penggabungan dan Konkatenasi FSA.
Otomata & Teori Bahasa ( Week 4 )
Reduksi Jumlah State pada Finite State Automata
Otomata & Teori Bahasa ( Week 4 )
OTOMATA DAN TEORI BAHASA 8.
Transcript presentasi:

Teori-Bahasa-dan-Otomata Lecture #6 Non Deterministik FINITE STATE AUTOMATA

Reduksi Jumlah State Pada FSA Reduksi dilakukan untuk mengurangi jumlah state tanpa mengurangi kemampuan untuk menerima suatu bahasa seperti semula (efisiensi) State pada FSA dapat direduksi apabila terdapat useless state Hasil dari FSA yang direduksi merupakan ekivalensi dari FSA semula

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 kemungkinan : distinguishable atau indistinguishable tetapi tidak kedua-duanya. Dalam hal ini terdapat sebuah relasi : Jika p dan q indistinguishable, dan q dan r indistinguishable maka p, 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 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 q2 q0 q1 1 q4 0,1 q3 q5 Sebuah Mesin DFA Lakukan Reduksi state pada DFA diatas?

Reduksi Jumlah State Pada FSA – Step State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state). Hapus state q5 Catat state-state distinguishable, yaitu : q4  F sedang q0, q1, q2, q3 F sehingga pasangan (q0, q4) (q1, q4) (q2, q4) dan (q3, q4) adalah distinguishable. Pasangan-pasangan state lain yang distinguishable diturunkan berdasarkan pasangan dari langkah 2, yaitu : Untuk pasangan (q0, q1) δ(q0, 0) = q1 dan δ(q1, 0) = q2  belum teridentifikasi δ(q0, 1) = q3 dan δ(q1, 1) = q4  (q3, q4) distinguishable maka (q0, q1) adalah distinguishable. Untuk pasangan (q0, q2) δ(q0, 0) = q1 dan δ(q2, 0) = q1  belum teridentifikasi δ(q0, 1) = q3 dan δ(q2, 1) = q4  (q3, q4) distinguishable maka (q0, q2) adalah distinguishable.

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

Non Deterministic Finite Automata Non Deterministic finite automata (NFA)  M = (Q, ∑, δ, S, F), dimana : Q : himpunan state/kedudukan ∑ : himpunan simbol input ∂ : fungsi transisi, dimana ∂  Q x (∑ ⋃ )  P(Q) P(Q) : set of all subsets of Q S : State awal (initial state) F : himpunan state akhir (Final State) Language  L(M) : (x| ∂(S,x) di dalam F)

Non Deterministic Finite Automata Berikut ini sebuah contoh NFA (Q, ∑, δ, S, F). dimana : Q = {q 0, q1 , q2 ,q3 , q4 } δ diberikan dalam tabel berikut : ∑= {a, b,c} δ a b c S = q0 Q 0 {q0 , q 1} {q0 , q2 } {q0 , q3 } F = {q4} q 1 {q1 , q4 } {q1 } {q 1} q 2 {q2 } {q 2, q4 } {q 2} q3 {q3 } {q 3, q4 } q 4 

∑= {a, b,c} S = q0 F = {q4 } a,b,c a,b,c a L(M) = {aabb,…} q0 q1 q1 b δ a b c S = q0 q 0 {q0 , q 1} {q0 , q2 } {q0 , q3 } F = {q4 } q 1 {q1 , q4 } {q1 } {q 1} q 2 {q2 } {q 2, q4 } {q 2} q3 {q3 } {q 3, q4 } q 4  a,b,c a,b,c a L(M) = {aabb,…} q0 q1 q1 b a c b q3 q2 q4 a,b,c a,b,c c

Sebuah kalimat di terima NFA jika :   Salah satu tracing-nya berakhir di state AKHIR, atau himpunan state setelah membaca string tersebut mengandung state AKHIR Telusurilah, apakah kalimat-kalimat berikut diterima NFA di atas : ab, abc, aabc, aabb Jawab: δ(q0 ,ab)  δ(q0,b)  δ(q1 ,b)  {q0, q2}  {q1 } = {q0 , q1 , q2} Himpunan state TIDAK mengandung state AKHIR  kalimat ab tidak diterima   δ(q0 ,abc)  δ(q0 ,bc)  δ(q1 ,bc)  { δ(q0 ,c)  δ(q2 ,c)}δ(q1 , c) {{ q0 , q3 }{ q2 }}{ q1 } = {q0 , q1 , q2 ,q3 } Himpunan state TIDAK mengandung state AKHIR  kalimat abc tidak diterima 

Ekuivalensi Antar Deterministic Finite Automata Dua DFA M1 dan M2 dinyatakan ekivalen apabila L(M1) = L(M2) q0 q1 M1 q0 M2

Non Deterministic Finite Automata dengan ε-move NFA dengan ε-move (transisi ε), diperbolehkan merubah state tanpa membaca input. Disebut dengan ε-move karena tidak bergantung pada suatu input ketika melakukan transisi. Kegunaan ε-move adalah untuk memudahkan mengkombinasikan finite state automata. ε-closure (q0)=himpunan state-state yang dapat dicapai dari state q0 tanpa membaca input. Pada suatu state yang tidak memiliki ε-move, maka ε-closure nya adalah state itu sendiri. ε-closure adalah himpunan state-state yang dapat dicapai dari suatu state tanpa membaca input.

Contoh Tanpa membaca input : q0 dapat berpindah ke q1 ε ε q0 q1 q2 ε a b q4 q3 b Tanpa membaca input : q0 dapat berpindah ke q1 q1 dapat berpindah ke q2 q4 dapat berpindah ke q1

ε-closure(q0) = {q0, q1, q2 }, artinya dari state q0 tanpa membaca input dapat mencapai state q0, q1 dan q2. ε-closure untuk state lainnya : ε-closure(q1) = {q1,q2 } ε-closure(q2) = {q2 } ε-closure(q3) = {q3 } ε-closure(q4) = {q4 }

Ekivalensi NFA dengan ε-move ke NFA tanpa ε-move Ekivalen = mampu menerima bahasa yang sama. q2 a q2 q0 ε a a q1 q0 q1 b b b q3 q3

Merubah NFA dengan ε-move ke NFA tanpa ε-move. Buat tabel transisi NFA ε-move dari diagram NFA atau sudah ditentukan semula. Carilah ε-closure untuk setiap state NFA. Cari setiap fungsi transisi hasil perubahan dari NFA ε-move ke NFA tanpa ε-move (δ) , rumus : ’(state,input)=-closure((-closure(state,input))

Berdasarkan langkah sebelumnya, buatlah tabel transisi NFA yg baru tanpa ε-move Tentukan state akhir. Jika State2x pada closure satu state merup final state maka state yg baru menjadi finel state. F’ = F  {q | (-closure(q)  F  }

Contoh :

 a b q0  q1 q2 q3 transisi-nya : -closure dari FSA tersebut -closure(q0) = [q0,q1] -closure(q1) = [q1] -closure(q2) = [q2] -closure(q3) = [q3]

Cari tabel transisi yang baru (’) : q0 -cl((-cl(q0),a)) -cl(({q0,q1},a)) -cl(q2) {q2} -cl((-cl(q0),b)) -cl(({q0,q1},b)) -cl(q3) {q3} q1 -cl((-cl(q1),a)) -cl(({q1},a)) -cl((-cl(q1),b)) -cl(({q1},b))

’ a b q2 -cl((-cl(q2),a)) -cl(({q3},a)) -cl()  -cl((-cl(q2),b)) -cl(({q2},b)) q3 -cl((-cl(q3),a)) -cl((-cl(q3),b)) -cl(({q3},b))