Minimisasi DFA Context Free Grammar Sheila Nurul Huda

  • Slides: 8
Download presentation
Minimisasi DFA & Context Free Grammar Sheila Nurul Huda, S. Kom, M. Cs

Minimisasi DFA & Context Free Grammar Sheila Nurul Huda, S. Kom, M. Cs

Minimisasi DFA Diberikan DFA M =(Q, Σ, δ, q 0, F ). Temukan DFA

Minimisasi DFA Diberikan DFA M =(Q, Σ, δ, q 0, F ). Temukan DFA M′ yang memiliki jumlah state sesedikit mungkin s. s L(M′)= L(M). Ide Partisi Q ke equivalence classes dan kemudian gabungkan semua state yang berada di equivalence class yang sama. Equivalence p ≡ q jika untuk semua w ∈ Σ∗,

Menemukan Equivalence Classes Ide Kita identifikasi pasangan-pasangan yang tidak equivalent (p, q). Observasi “Bukti”

Menemukan Equivalence Classes Ide Kita identifikasi pasangan-pasangan yang tidak equivalent (p, q). Observasi “Bukti” bahwa p dan q tidak equivalent adalah sebuah string w ∈ Σ* s. s salah satu dari dan berakhir di state Final dan yang lain tidak. Ini berarti p dan q equivalent sampai panjang i , karena kita tidak bisa menemukan bukti bahwa p dan q tidak equivalent pada semua string dengan panjang ≤ i.

Algoritma untuk menentukan ≡i secara rekursif. Langkah 0: Partisi Q = C 1 ∪

Algoritma untuk menentukan ≡i secara rekursif. Langkah 0: Partisi Q = C 1 ∪ C 2 dengan C 1 = F dan C 2 = Q − F. (Karena p ≡ 0 q jika dan hanya jika p Final dan q juga Final atau sebaliknya, p dan q adalah contoh dua state dari partisi yang sama) Langkah i + 1: Tentukan p ≡i+1 q jika dan hanya jika ∀a ∈ Σ, δ(p, a) ≡i δ(q, a). (Kita peroleh partisi yang lebih halus C 1, C 2, C 3, . . . Berhenti: ketika kelas-kelas baru tidak ditemukan lagi. Paling banyak dalam |Q| langkah.

Contoh Algoritma: Langkah 0: Langkah 1: Langkah 2: Langkah 3: C 1 = {1,

Contoh Algoritma: Langkah 0: Langkah 1: Langkah 2: Langkah 3: C 1 = {1, 2, 5, 6}, C 2 = {3, 4}, C 1 = {1, 2, 5, 6}, C 2 = {3}, C 3 = {4}, C 1 = {1, 5, 6}, C 2 = {2}, C 3 = {3}, C 4 = {4}, C 1 = {1}, C 2 = {2}, C 3 = {3}, C 4 = {4}, C 5 = {5, 6}, Langkah 4: Tidak ada perubahan, berhenti.

Membangun DFA M’ 1. Partisi Q = C 1 ∪ C 2 ∪. .

Membangun DFA M’ 1. Partisi Q = C 1 ∪ C 2 ∪. . . ∪ Ck pada M (seperti dijelaskan sebelumnya), 2. Bangun M′ =(Q′ , Σ, δ′, q 0′, F′): • State: Q′ = C 1, C 2, . . . , Ck , • Transisi: Jika δ(p, a)= q di M, maka tambahkan δ(Ci, a)= Cj ke M′ dimana p ∈ Ci dan q ∈ Cj, • State Start: Ci yang berisi q 0 pada M, • State Final: Semua Ci yang berisi sebuah state Final dari M.

Hasil Proses Minimalisasi

Hasil Proses Minimalisasi

Minimal dan Unik Teorema Myhill-Nerode: Proses minimisasi di atas menghasilkan DFA yang sekecil mungkin

Minimal dan Unik Teorema Myhill-Nerode: Proses minimisasi di atas menghasilkan DFA yang sekecil mungkin untuk suatu bahasa tertentu — dan DFA ini unik.