State berlebih
Otomaton hingga dapat memiliki state yang darinya kita tidak mungkin sampai di state akhir, sehingga state tersebut tidak berguna. State seperti ini disebut state berlebih. Biasanya kita ingin menghapus state seperti ini, karena state tersebut hanya membuat otomaton menjadi rumit tanpa alasan.
Contoh state berlebih
Misalkan ada otomaton hingga berikut:
Terlihat bahwa begitu kita sampai di state q4 atau q5, kita tidak akan pernah berhasil mencapai salah satu state akhir, yaitu q1 atau q2. Jadi, state tersebut berlebih dan dapat dihapus begitu saja. Hasilnya adalah otomaton baru yang tetap ekuivalen, yaitu menerima bahasa yang sama. Setelah state berlebih dihapus, otomatonnya terlihat seperti ini:
Otomaton ini tetap menerima bahasa yang sama. Namun, ada kalanya kita justru perlu memiliki state berlebih — misalnya ketika mengonstruksi otomaton lengkap.
Definisi state berlebih
Misalkan ada otomaton hingga A = ⟨Q, Σ, δ, q0, F⟩. State q ∈ Q disebut berlebih jika tidak ada string w ∈ Σ∗ dan tidak ada state qf ∈ F sedemikian sehingga
Cara menghapus state berlebih
Kita asumsikan bahwa inputnya adalah otomaton A = ⟨Q, Σ, δ, q0, F⟩ yang sudah tidak memiliki state tak tercapai. Kita akan mencari satu per satu state yang mengarah ke state akhir, lalu state yang mengarah ke state yang mengarah ke state akhir, dan begitu terus. Dengan cara ini, kita memperoleh himpunan semua state yang tidak berlebih. Pada awalnya, kita tetapkan S0 = F. Himpunan-himpunan berikutnya Si untuk i ∈ ℕ kita konstruksi dengan aturan berikut:
Himpunan semua state yang tidak berlebih dapat dinyatakan sebagai berikut:
Himpunan state berlebih dapat dinyatakan sebagai
Dengan kata lain, jika berlaku Si = Si + 1, himpunan Q ∖ Si memuat state-state berlebih. Prosedurnya akan kita ilustrasikan pada otomaton berikut:
Pertama, kita tetapkan S0 = {q1, q2}. Selanjutnya, kita susun himpunan S1 dengan menambahkan ke himpunan S0 semua state yang mengarah ke salah satu state dalam himpunan S0. Jadi, kita menambahkan state q0 dan q3, karena dari q0 ada transisi ke q1 dan dari q3 ada transisi ke q2. Diperoleh S1 = {q0, q1, q2, q3}. Karena S0 ≠ S1, kita lanjutkan.
Kita susun himpunan S2. Kita cari semua state yang darinya kita dapat sampai di S1 dan yang belum ada di S1. Hanya ada satu state seperti itu, yaitu q6, yang darinya kita dapat sampai di state q3. Diperoleh S2 = {q0, q1, q2, q3, q6}. Karena S1 ≠ S2, kita lanjutkan.
Kita susun himpunan S3. Apakah ada state baru yang darinya kita dapat sampai di salah satu state dalam S2? Tidak ada. Dari state q4 dan q5 kita tidak dapat sampai di state mana pun dalam S2, sedangkan state lainnya sudah ada di S2. Jadi, berlaku S3 = {q0, q1, q2, q3, q6}. Karena S2 = S3, algoritma berakhir, dan himpunan S2 adalah himpunan state yang tidak berlebih. Himpunan {q4, q5} adalah himpunan state yang berlebih.
Secara formal, otomaton ekuivalen baru tanpa state berlebih dikonstruksi sebagai berikut. Untuk otomaton A = ⟨Q, Σ, δ, q0, F⟩ kita susun otomaton ekuivalen A′ = ⟨Q′, Σ, δ′, q0, F⟩ tanpa state berlebih.
- ∀q ∈ Q′, a ∈ Σ: δ′(q, a) = δ(q, a), jika δ(q, a) ∈ Q′; jika tidak, δ′(q, a) tidak terdefinisi
Sumber
Daftar isi: State tak tercapai, State berlebih, Minimisasi otomaton