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 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
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:
bang ijin copas buat tugas
BalasHapus