Langsung ke konten utama

Ekuivalensi Antar Deterministic Finite Automata

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 distinguishablejika 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 :

  1. Hapuslah semua state yg tidak dapat dicapai dari state awal  (useless state)
  2. Buatlah semua pasangan state (p, q) yang distinguishable, dimana p Π F dan q F. Catat semua pasangan-pasangan state tersebut.
  3. 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.
  4. Semua pasangan state yang tidak termasuk sebagai stateyang distinguishable merupakan state-stateindistinguishable.
  5. Beberapa state yang indistinguishable dapat digabungkan menjadi satu state.
  6. Sesuaikan transisi dari state-state gabungan tersebut.