Back to IF2224 Teori Bahasa Formal dan Otomata

Topic

Questions/Cues

  • Apa itu transisi Epsilon (ε)?
  • Apa perbedaan definisi formal ε-NFA?
  • Apa itu Epsilon Closure (ECLOSE)?
  • Bagaimana cara menghitung ECLOSE?
  • Apa gunanya ECLOSE?

Reference Points

  • 2022_E-NFA.pdf
  • 2021_Bab-2-FSA.pdf: 82-90
  • 2019_NFA.pptx: 16-20

Pengenalan Transisi Epsilon (ε-Transition)

Transisi Epsilon (ε) adalah sebuah “gerakan bebas” di mana sebuah automaton dapat berpindah dari satu state ke state lain tanpa membaca atau mengonsumsi simbol input apa pun.

Anggap saja ini sebagai sebuah transisi spontan. Fitur ini tidak menambah kekuatan komputasi (masih hanya mengenali Bahasa Regular), tetapi merupakan sebuah kemudahan desain yang sangat besar, terutama saat ingin menggabungkan beberapa automaton.

Definisi Formal ε-NFA

Definisi formal dari ε-NFA sama seperti NFA, yaitu 5-tuple , dengan satu perbedaan kecil pada fungsi transisinya.

  • Fungsi Transisi ε-NFA (δ):
    • Domain inputnya sekarang mencakup alphabet Σ DAN simbol epsilon ϵ.
    • Notasi Formal: .

Ini berarti kita bisa mendefinisikan transisi seperti , yang artinya dari ​ bisa langsung pindah ke secara gratis.

Konsep Fundamental: Epsilon Closure (ECLOSE)

Untuk memahami ke mana saja sebuah ε-NFA bisa “melompat” secara spontan, kita menggunakan konsep Epsilon Closure.

ECLOSE(q) adalah himpunan semua state (termasuk q itu sendiri) yang dapat dicapai dari state q dengan hanya mengikuti jalur yang terdiri dari nol atau lebih transisi ϵ.

Cara Menghitung ECLOSE(q):

Kita bisa menggunakan algoritma induktif:

  1. Langkah Basis: State q itu sendiri selalu ada di dalam ECLOSE(q).
  2. Langkah Induksi: Jika sebuah state p ada di dalam ECLOSE(q), dan ada transisi δ(p,ϵ)=r, maka state r juga harus dimasukkan ke dalam ECLOSE(q). Ulangi langkah ini sampai tidak ada state baru yang bisa ditambahkan.

ECLOSE untuk Himpunan State:

Jika kita punya himpunan state S, maka ECLOSE(S) adalah gabungan dari ECLOSE untuk setiap state di dalam S.

  • Notasi Formal: .

Fungsi Transisi Lanjutan () untuk ε-NFA

Fungsi transisi lanjutan untuk ε-NFA sedikit lebih kompleks karena kita harus memperhitungkan lompatan-lompatan epsilon.

  • Basis: . Membaca string kosong berarti kita berada di state awal ditambah semua state yang bisa dijangkau secara gratis.
  • Induksi: Untuk menghitung , prosesnya adalah:
    1. Cari tahu dulu semua state yang bisa dicapai setelah membaca string x: .
    2. Dari setiap state p di dalam himpunan S, cari tahu ke mana saja transisi dengan simbol a akan membawa kita. Gabungkan semua hasilnya. Sebut himpunan ini S′.
    3. Hasil akhirnya adalah . Kita mengambil E-closure dari hasil transisi “nyata” tersebut.

Konsep ECLOSE ini menjadi fondasi untuk mengubah ε-NFA menjadi DFA pada sub-bab selanjutnya.

Summary

ε-NFA adalah sebuah NFA yang diperkaya dengan kemampuan transisi epsilon (ϵ), yaitu perpindahan state yang terjadi secara spontan tanpa memerlukan simbol input. Untuk dapat menganalisis mesin ini, konsep fundamental bernama Epsilon Closure (ECLOSE) diperkenalkan. ECLOSE dari sebuah state adalah himpunan semua state lain yang dapat dijangkau hanya melalui jalur ε. Konsep ini krusial untuk memahami perilaku dan nantinya melakukan konversi ε-NFA ke automata lain yang ekuivalen.