Anda di halaman 1dari 4

Non-Determinisitic Finite Automata

David Galles
Department of Computer Science
University of San Francisco

Non-Determinism
- Suatu fungsi transisi DFA harus tepat pada suatu transisi.
- Suatu DFA dapat memiliki 0,1 dari banyak transisi untuk single state / single pair.

Contoh NFA
- Example: L = {w {a, b} : w starts with a}
RE = a(a+b)*

- Apa yang terjadi jika a ‘b’ dilihat di status q0 ? => mesin akan terjadi crashes dan
tidak diterima oleh string.
- Contoh L = {w {a, b} : w yang berisi substring aa}
RE = (a+b)*aa(a+b)*

Apa yang terjadi jika a dilihat dari status q0 ?


Tetap dalam state q0 atau berpindah kedalam q1.
Berbagai alur computational (board example)
Contoh: L = {w {a, b} : w berisi substring aa}

Mesin menerima pekerjaan abaa


Penerimaan NFA
- Jika ada banyak alur computatioanal yang menerima string, kemudian mesin menerima
string.
- Dua jalan pemikiran mengenai NFA
Kekuatan “oracle” dimana selalu mengembil alur yang benar.
Memungkinkan mencoba semua alur.

Contoh NFA
- Contoh L = {w {a, b} : w yang berisi substring aa}
jika string berisi aa, akankah alur computational di setujui?
Jika string tidak berisi aa, akankah alur computational di setujui?

Definisi NFA
Perbedaan antara DFA dan NFA
DFA hanya mempunyai satu transisi untuk masing-masing state / symbol pair.
Fungsi transisi =
NFA mempunyai 0, 1 atau banyak transisi untuk masing-masing state / symbol pair.
Relasi transisi =

Fun with NFA


Penulisan NFA untuk :
- Semua string {a, b}yang dimulai oleh a dan diakhiri oleh b.

(contoh alur computational untuk ababb, abba, bbab)

Semua string {0, 1}yang berisi 0110 atau 1001

-Transition
- Konsumsi transisi tidak dimasukkan
NFA (dengan transisi) untuk (ab)* (aab)*

- Penulisan NFA (dengan transisi) untuk:


Semua string {a, b, c} ada sedikit yang hilang. Sebagai contoh aabba, cbbc, ccacc L
dimana abbc L.
Yet More Formalism (sekalipun begitu formal)
- - closure
Closure (q) = himpunan dari semua status yang dapat diikuti 0 atau banyak transisi
dari status q

Contoh - closure

Himpunan - closure
- closure
Closure (q) = himpunan dari semua status yang dapat diikuti 0 atau banyak transisi
dari status q.
Can extend _-closure to a set of states

Definisi NFA (yang direvisi)