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.
Dua DFA M1 dan M2
dinyatakan ekivalen apabila L(M1) = L(M2)
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 Statedapat
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 stateyang 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
- 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) distinguishablemaka (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) distinguishablemaka (q0, q2) adalah distinguishable.
- 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:
Komentar
Posting Komentar