Anda di halaman 1dari 16

CSG3D3 | Teori Komputasi

Minimum DFA

Agung Toto Wibowo


Ahmad Suryan
Yanti Rusmawati
Mahmud Dwi Sulistiyo
Kurniawan Nur Ramadhani
Said Al Faraby
Dede Rohidin

KK Intelligence, Computing, and Multimedia


Bahasan Finite Automata

Teori Komputasi | CSG3D3


Minimum FA

Pada saat kita memiliki Finite Automata M, kita dapat mencari


Finite Automata yang ekivalen dengan jumlah state yang lebih
sedikit atau dapat dikatakan sebagai Minimum FA yang
ekivalen.
Hal tersebut dilakukan dengan
1. Mengeliminasi semua state yang tidak dapat diakses dari initial
state di M (inaccessible states).
2. Menggabungkan semua state redundan di M (indistinguishable
states).

Teori Komputasi | CSG3D3


Contoh DFA yang Tidak Minimum

Teori Komputasi | CSG3D3


Langkah-langkah meminimumkan DFA

1. Eliminasi semua Inaccessible states


2. Ubah menjadi DFA jika masih berbentuk NDFA
3. Identifikasi dan gabungkan Indistinguishable states
4. Gambarkan STD-nya

Teori Komputasi | CSG3D3


Inaccessible State

Suatu state dikatakan Inaccessible jika untuk semua


kemungkinan string dari * yang dibaca tidak ada yang pernah
mencapai state tersebut.
Contoh pada DFA ini adalah state F dan G.
 State F dan G dihapus

Teori Komputasi | CSG3D3


Indistinguishable/Ekivalen State [1]
Dua buah state, misalnya p dan q, dikatakan Indistinguishable/Ekivalen
jika dan hanya jika memenuhi dua syarat berikut.
– untuk setiap kemungkinan w, jika hasil perluasan aturan ’(p, w)
adalah accepted state, maka hasil perluasan aturan ’(q, w) juga
accepted state.
– untuk setiap kemungkinan w, jika hasil perluasan aturan ’(p, w)
adalah bukan accepted state, maka untuk ’(q, w) juga bukan
accepted state.
Dua buah state, misalnya p dan q, dapat dibedakan
(distinguishable/tidak ekivalen) jika ada string w yang memperluas
fungsi transisi ’(p, w) dan ’(q, w), di mana salah satu hasilnya adalah
accepted state dan yang satunya lagi bukan accepted state.

Teori Komputasi | CSG3D3


Indistinguishable/Ekivalen State [2]
Dalam proses minimasi DFA, setelah inaccesible state dihilangkan dan
dipastikan FA yang dimiliki sudah deterministik, langkah berikutnya adalah
mengeliminasi distinguishable states.
Untuk mengenalinya, dilakukan pengecekan setiap pasang state yang
tersisa. Untuk memudahkan, dibuat tabel sederhana sebagai berikut.

Teori Komputasi | CSG3D3


Contoh Distinguishable State [1]
Setiap non-accepted state pasti distinguishable dengan setiap
accepted state (cukup melihat hasil perluasan transisi dengan λ)
– A dengan C, karena
’(A, λ) = A (bukan accepted state) dan ’(C, λ) = C (accepted state)
– Demikian juga antara B dengan C,
– D dengan C,
– A dengan E,
– B dengan E, dan
– D dengan E
Keterangan:
X = distinguishable, O = indistinguishable
Label di bawah ‘X’ menyatakan string w yang membuatnya distinguishable

Teori Komputasi | CSG3D3


Contoh Distinguishable State [2]
Contoh lainnya (temukan string w untuk memperluas fungsi transisi
yang membuat keduanya distinguisable)
– A dengan B
– A dengan D

Teori Komputasi | CSG3D3


Contoh Indistinguishable State
Antara B dan D
– ’(B, 1) = C (accepted state) dan ’(D, 1) = E (accepted state)
Antara C dan E
– ’(C, 1) = E (accepted state) dan ’(E, 1) = C (accepted state)
Jika ditelusuri lebih lanjut, ternyata dari kedua state tersebut akan selalu
memberikan hasil yang sama-sama accepted atau non-accepted

Teori Komputasi | CSG3D3


Hasil Reduksi ke Minimum DFA

Kita hilangkan state F dan G (karena inaccessible)


Kita gabungkan antara B dan D (karena indistinguishable)
Kita gabungkan antara C dan E (karena Indistinguishable)
Gambarkan kembali STD sehingga menjadi Minimum DFA yang
ekivalen dengan DFA asalnya

Teori Komputasi | CSG3D3


Latihan [1]

Ubah DFA berikut menjadi Minimum DFA yang ekivalen!

Teori Komputasi | CSG3D3


Latihan [2]

Ubah DFA berikut menjadi Minimum DFA yang ekivalen!

Teori Komputasi | CSG3D3


Latihan [3]

Ubah DFA berikut menjadi Minimum DFA yang ekivalen!

Teori Komputasi | CSG3D3

Anda mungkin juga menyukai