Dosen : Yessy Fitriani, ST.,M.Kom
kumpulan dari beberapa tugas kuliah,,, semoga bermanfaat yaa.... - 201331252 -
Senin, 05 Juni 2017
Jumat, 26 Mei 2017
Ekuivalensi NFA ke DFA dan NFA € (empty) - Move
Dosen : Yessy Fitriani, ST.,M.Kom
*) € - Closure adalah himpunan state-state yang dapat dicapai dari suatu state tanpa membaca input.
Ekuivalensi NFA dan DFA
Dari sebuah mesin Non-Deterministic FInite Automata dapat dibuat mesin Deterministic FInite Automata-nya yang ekuivalen (bersesuaian). ekuivalen disini artinya mampu menerima bahasa yang sama.NFA € (empty) - Move
Ada jenis otomata baru yang disebut NFA dengan € - move (disini bisa di anggap sebagai 'empty'). Pada NFA dengan € - move (transisi € ), diperbolehkan mengubah state tanpa membaca input. disebut dengan tarnsisi € karena tidak bergantung pada suatu input ketika melakukan transisi.*) € - Closure adalah himpunan state-state yang dapat dicapai dari suatu state tanpa membaca input.
Selasa, 16 Mei 2017
Ekuivalensi Antar Deterministic Finite Automata
Dosen: Yessy Fitriani, ST.,M.Kom
Ekuivalensi Antar Deterministic Finite Automata
Untuk suatu bahasa regular, kemungkinan ada sejumlah Deterministic
Finite Automata yang dapat
menerimanya. Perbedaannya hanyalah jumlah state yang dimiliki otomata-otomata yang saling ekuivalen tersebut. Tentu
saja, dengan alasan kepraktisan, kita memilih
otomata dengan jumlah state yang lebih sedikit.
Sasaran kita di
sini adalah mengurangi jumlah state dari suatu Finite State Automata, dengan tidak mengurangi
kemampuannya semula untuk menerima suatu bahasa.
Ada dua buah istilah baru yang perlu kita ketahui yaitu :
1. Distinguishable yang berarti dapat dibedakan.
2. Indistinguishable yang berarti tidak dapat dibedakan.
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
Pasangan State
dapat dikelompokkan berdasarkan:
1. 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*
2. 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
Langkah - langkah untuk melakukan reduksi ini adalah :
- 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 merupakan state-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
1. State q5 tidak dapat dicapai dari state awal
dengan jalan apapun (useless state).
Hapus state q5
Contoh-contoh yang di ambil dari catatan :
2. 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.
- Untuk pasangan (q0, q1)
maka (q0, q1) adalah distinguishable.
- Untuk pasangan (q0, q2)
δ(q0, 1) = q3 dan
δ(q2, 1) = q4 à (q3, q4) distinguishable
maka (q0, q2) adalah distinguishable.
4. 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.
5. Karena q1 indistinguishable dengan q2, q2 indistinguishable dengan q3, maka dapat
disimpulkan q1, q2, q3 saling indistinguishable dan dapat dijadikan satu state.
6. Berdasarkan hasil diatas
maka hasil dari DFA yang direduksi menjadi:
sumber :
slide TBO Ekuivalensi Antar DFA
Minggu, 16 April 2017
Sabtu, 15 April 2017
FSA (FINITE STATE OTOMATA)
Dosen: Yessy Fitriani, ST.,M.Kom
Suatu bentuk/model matematika yang memiliki fungsi-fungsi dari computer digital yaitu :
- Menerima input.
- Menghasilkan output.
- Bisa memiliki penyimpanan sementara.
- Mampu membuat keputusan dalam mentransformasikan input ke output.
- Terdiri dari sejumlah berhingga state (kedudukan)
- Perpindahan state satu ke yang lain berdasar input dan fungsi transisi
- Input pada otomata => bahasa yang harus dikenali
- Otomata membuat keputusan apakah input diterima atau tidak.
Finite State Automata
adalah mesin abstrak berupa sistem model matematika dengan masukan dan
keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler)
dan dapat diimplementasikan secara nyata.
Finite state automata (FSA) bukanlah mesin fisik tetapi suatu model
matematika dari suatu sistem yang menerima input dan output.
FSA merupakan
mesin automata dari bahasa regular (tipe 3). Suatu FSA memiliki state yang
banyaknya berhingga, dan dapat berpindah dari suatu state ke state lain.
Perubahan state dinyatakan oleh fungsi transisi.
FSA didefinisikan sebagai pasangan 5 tupel : (Q, ∑, δ, S, F).
Q : himpunan hingga state
∑ : himpunan hingga simbol input (alfabet)
δ : fungsi transisi, menggambarkan transisi state FSA akibat pembacaan simbol input.
(Fungsi transisi ini biasanya diberikan dalam bentuk tabel.)
S : state AWAL (Start)
F : himpunan state AKHIR (Final)
∑ : himpunan hingga simbol input (alfabet)
δ : fungsi transisi, menggambarkan transisi state FSA akibat pembacaan simbol input.
(Fungsi transisi ini biasanya diberikan dalam bentuk tabel.)
S : state AWAL (Start)
F : himpunan state AKHIR (Final)
Contoh FSA untuk mengecek
parity ganjil
- Misal
input : 1101
Genap 1
Ganjil 1 Genap 0 Genap 1 Ganjil : diterima mesin
- Misal
input : 1100
Genap 1 Ganjil 1 Genap 0 Genap 0 Genap : ditolak mesin
Genap 1 Ganjil 1 Genap 0 Genap 0 Genap : ditolak mesin
Q = {Genap, Ganjil}
Σ = {0,1}
S = Genap
F = {Ganjil }
Klasifikasi FSA
Ada dua jenis FSA :
1. Deterministic finite automata
(DFA)
Terdiri dari 1 transisi dari suatu state pada 1 simbol masukan.
Terdiri dari 1 transisi dari suatu state pada 1 simbol masukan.
2. Non
deterministik finite automata.(NFA)
Lebih dari 1 transisi dari suatu state dimungkinkan pada simbol masukan yang sama.
Lebih dari 1 transisi dari suatu state dimungkinkan pada simbol masukan yang sama.
- Kedua finite automata tersebut mampu mengenali himpunan reguler secara presisi. Dengan demikian kedua finite automata itu dapat mengenali string-string yang ditunjukkan dengan ekspresi reguler secara tepat.
- DFA dapat menuntun recognizer(pengenal) lebih cepat dibanding NDFA.
- Namun, DFA berukuran lebih besar dibanding NDFA yang ekivalen dengannya.
1.Deterministik (DFSA/DFA)
Pada setiap input, hanya ada satu keadaan (state) tujuan dari keadaan saat ini.
Contoh :
Pengujian untuk menerima bit string dengan banyaknya
0 genap, serta banyaknya 1 genap.
0011 : diterima
10010 : ditolak, karena banyaknya 0 ganjil
Diagram transisi-nya :
0011 : diterima
10010 : ditolak, karena banyaknya 0 ganjil
Diagram transisi-nya :
DFA nya:
Q = {q0 , q1 , q2 , q3 }
Σ = {0,1}
S = q0
F = { q0}
fungsi transisi adalah:
Q = {q0 , q1 , q2 , q3 }
Σ = {0,1}
S = q0
F = { q0}
fungsi transisi adalah:
Contoh : diberikan
string 011 dan
1010, buktikan bahwa string tersebut diterima atau
ditolak !
δ (q0,011) = δ (q2,11)
= δ (q3,1)
= q2 Ditolak
δ (q0,1010) = δ (q1,010)
= δ (q3,10)
= δ (q2,0)
= δ (q0,empty) Diterima
2.Nondeterministik (NFSA/NFA)
Pada setiap input terdapat lebih dari satu keadaan tujuan dari keadaan saat ini.
Non-deterministic
◦ 1 keadaan + 1 input ≥ 1 keadaan.
◦ Atau, 1 keadaan + 1 input -> 0 keadaan
◦ Setiap DFA merupakan NFA.
Cara Kerja NFA :
- Misal: kita berada di keadaan q1 suatu NFA N1. Diberikan simbol input 1.
◦ Setelah membaca input
tersebut, mesin menuju semua keadaan
berikutnya yang
berlabel 1.
- Kemudian mesin membaca input berikutnya.
◦ Bila keadaan
berikutnya ada lebih dari
satu keadaan, ikuti semua keadaan
tersebut.
◦ Bila tidak ditemukan keadaan berikutnya, maka runtutan string tersebut mati.
- Jika salah satu dari cabang urutan string mencapai keadaan akhir/ final state/ keadaan yang diterima, NFA menerima string yang diberikan.
- Jika muncul keadaan dengan simbol empty,
maka tanpa membaca input lagi mesin menuju ke semua keadaan berikutnya yang dituju simbol empty.
Contoh :

Konfigurasi NFA secara formal adalah sebagai
berikut :
Q = {q0, q1 }
Σ = {a, b}
S = q0
F = {q1}
Fungsi-fungsi transisinya sebagai berikut :
δ (q0, a) =
{q0,q1},
δ (q0, b) =
q1,
δ (q1, a) =
q1,
δ (q1, b) =
q1,
Nondeterministik (NFSA/NFA)
Pada setiap input terdapat lebih dari satu keadaan tujuan dari keadaan saat ini.
Non-deterministic
◦ 1 keadaan + 1 input ≥ 1 keadaan.
◦ Atau, 1 keadaan + 1 input -> 0 keadaan
◦ Setiap DFA merupakan NFA.
Cara Kerja NFA (1) Misal: kita berada di keadaan q1 suatu NFA N1. Diberikan simbol input 1.
◦ Setelah membaca input
tersebut, mesin menuju semua keadaan
berikutnya yang
berlabel 1.
Kemudian mesin membaca input berikutnya.
◦ Bila keadaan
berikutnya ada lebih dari
satu keadaan, ikuti semua keadaan
tersebut.
◦ Bila tidak ditemukan keadaan berikutnya, maka runtutan string tersebut mati.
Jika salah satu dari cabang urutan string mencapai keadaan akhir/ final state/ keadaan yang diterima, NFA menerima string yang diberikan.
Jika muncul keadaan dengan simbol e,
maka tanpa membaca input lagi mesin menuju ke semua keadaan berikutnya yang dituju simbol e.
Pohon Kemungkinan
Contoh :
Bagaimana cara membaca input
010110?
NFA menerima string yang mengandung
substring
11 dan 101
Non-Deterministic Finite Automata:
• Otomata berhingga yang tidak pasti untuk setiap pasangan state input, bisa memiliki 0 (nol) atau lebih pilihan untuk state berikutnya.
• Untuk setiap state tidak selalu tepat ada satu state berikutnya untuk setiap simbol input yang ada.
• Dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi)
berlabel simbol input yang sama.
• Untuk NFA harus dicoba semua kemungkinan yang ada sampai
terdapat satu yang mencapai state akhir.
• Otomata berhingga yang tidak pasti untuk setiap pasangan state input, bisa memiliki 0 (nol) atau lebih pilihan untuk state berikutnya.
• Untuk setiap state tidak selalu tepat ada satu state berikutnya untuk setiap simbol input yang ada.
• Dari suatu state bisa terdapat 0,1 atau lebih busur keluar (transisi)
berlabel simbol input yang sama.
• Untuk NFA harus dicoba semua kemungkinan yang ada sampai
terdapat satu yang mencapai state akhir.
Kedua
finite automata di atas mampu mengenali himpunan reguler secara presisi. Dengan
demikian kedua finite automata itu dapat mengenali string-string yang
ditunjukkan dengan ekspresi reguler secara tepat.
DFA
dapat menuntun recognizer(pengenal) lebih cepat dibanding NDFA. Namun demikian,
DFA berukuran lebih besar dibanding NDFA yang ekivalen dengannya. Lebih mudah
membangun NDFA dibanding DFA untuk suatu bahasa, namun lebih mudah
mengimplementasikan DFA dibanding NDFA.
- slide TBO
- https://riskasimaremare.wordpress.com
Langganan:
Postingan (Atom)