Perbedaan Antara NFA dan DFA Perbedaan Antara

Anonim

NFA vs DFA

Teori perhitungan adalah cabang ilmu komputer yang membahas bagaimana masalah dipecahkan dengan algoritma. Ini memiliki tiga cabang, yaitu; teori kompleksitas komputasi, teori komputabilitas, dan teori robot. Teori automaton atau automata adalah studi tentang mesin atau sistem matematika abstrak yang dapat digunakan untuk memecahkan masalah komputasi. Sebuah robot terdiri dari negara bagian dan transisi, dan karena ia melihat simbol atau tanda masukan, ia membuat transisi ke keadaan lain yang mengambil arus dan simbol sebagai masukan.

Teori automaton atau automata memiliki beberapa kelas yang mencakup Deterministic Finite Automata (DFA) dan Nondeterministic Finite Automata (NFA). Dua kelas ini adalah fungsi transisi automata atau automaton.

Dalam transisi, DFA tidak dapat menggunakan n string kosong, dan bisa dipahami sebagai satu mesin. Jika string berakhir pada keadaan yang tidak dapat diterima, DFA akan menolaknya. Mesin DFA dapat dibangun dengan setiap input dan output.

DFA hanya memiliki satu transisi status untuk setiap simbol alfabet, dan hanya ada satu keadaan akhir untuk transisi yang berarti bahwa untuk setiap karakter yang dibaca, ada satu negara yang sesuai di DFA. Lebih mudah untuk memeriksa keanggotaan di DFA tapi lebih sulit untuk dibangun. Pengulangan diizinkan di DFA, dan memerlukan lebih banyak ruang daripada NFA.

Pencabutan ulang tidak selalu diizinkan di NFA. Meskipun ada kemungkinan dalam beberapa kasus, di lain pihak tidak. Lebih mudah untuk membangun NFA, dan ini juga membutuhkan lebih sedikit ruang, namun tidak mungkin untuk membangun mesin NFA untuk setiap input dan output.

Hal ini dipahami sebagai beberapa mesin kecil yang menghitung bersamaan, dan keanggotaannya bisa lebih sulit untuk diperiksa. Ini menggunakan Transisi String Kosong, dan ada banyak kemungkinan keadaan berikutnya untuk masing-masing pasangan simbol negara dan masukan. Ini dimulai pada keadaan tertentu dan membaca simbolnya, dan robot tersebut kemudian menentukan keadaan berikutnya yang bergantung pada masukan saat ini dan kejadian konsekuen lainnya. Pada keadaan penerimaannya, NFA menerima senar tersebut dan menolaknya.

Ringkasan:

1. "DFA" adalah singkatan dari "Deterministic Finite Automata" sementara "NFA" adalah singkatan dari "Nondeterministic Finite Automata. "

2. Keduanya adalah fungsi transisi automata. Di DFA, keadaan yang mungkin berikutnya ditetapkan dengan jelas sementara di NFA, masing-masing pasangan simbol negara dan masukan dapat memiliki banyak kemungkinan keadaan selanjutnya.

3. NFA dapat menggunakan transisi string kosong sementara DFA tidak dapat menggunakan transisi string kosong.

4. NFA lebih mudah dibangun sementara lebih sulit untuk membangun DFA.

5. Pengulangan diizinkan di DFA sementara di NFA, mungkin atau mungkin tidak diizinkan.

6. DFA membutuhkan lebih banyak ruang sementara NFA membutuhkan lebih sedikit ruang.

7. Sementara DFA dapat dipahami sebagai satu mesin dan mesin DFA dapat dibangun untuk setiap input dan output, 8. NFA dapat dipahami sebagai beberapa mesin kecil yang menghitung bersama, dan tidak ada kemungkinan untuk membangun mesin NFA untuk setiap input dan output..