NFA vs DFA
Teori komputasi adalah cabang ilmu komputer yang berkaitan dengan bagaimana masalah diselesaikan menggunakan algoritma. Ia memiliki tiga cabang, yaitu; teori kompleksitas komputasi, teori komputasi, dan teori otomat.
Teori otomat atau automata adalah studi tentang mesin atau sistem matematika abstrak yang dapat digunakan untuk memecahkan masalah komputasi. Otomat terdiri dari status dan transisi, dan ketika ia melihat simbol atau huruf input, ia membuat transisi ke status lain dengan mengambil status saat ini dan simbol sebagai input.
Teori otomat atau automata memiliki beberapa kelas yang mencakup Deterministic Finite Automata (DFA) dan Nondeterministic Finite Automata (NFA). Kedua kelas ini adalah fungsi transisi automata atau otomat.
Dalam transisi, DFA tidak dapat menggunakan n string kosong, dan dapat dipahami sebagai satu mesin. Jika string berakhir pada kondisi yang bukan kondisi yang 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 status akhir untuk transisinya yang berarti bahwa untuk setiap karakter yang dibaca, ada satu status yang sesuai dalam DFA. Lebih mudah untuk memeriksa keanggotaan dalam DFA tetapi lebih sulit untuk dibangun. Mengulangi diizinkan dalam DFA, dan membutuhkan lebih banyak ruang daripada NFA.
Mundur tidak selalu diizinkan di NFA. Meskipun mungkin dalam beberapa kasus, dalam kasus lain tidak. Lebih mudah untuk membangun NFA, dan juga membutuhkan lebih sedikit ruang, tetapi tidak mungkin untuk membangun mesin NFA untuk setiap input dan output.
Ini dipahami sebagai beberapa mesin kecil yang menghitung secara bersamaan, dan keanggotaan bisa lebih sulit untuk diperiksa. Ia menggunakan Empty String Transition, dan ada banyak kemungkinan status berikutnya untuk setiap pasangan negara dan simbol input. Itu dimulai pada keadaan tertentu dan membaca simbol, dan otomat kemudian menentukan keadaan berikutnya yang tergantung pada input saat ini dan peristiwa konsekuensi lainnya. Pada kondisi penerimaannya, NFA menerima string dan menolaknya sebaliknya.
Ringkasan:
1. "DFA" adalah singkatan dari "Deterministic Finite Automata" sementara "NFA" adalah singkatan dari "Nondeterministic Finite Automata."
2. Keduanya adalah fungsi transisi automata. Dalam DFA, status yang mungkin berikutnya diatur secara jelas, sementara di NFA, setiap pasangan status dan simbol input dapat memiliki banyak kemungkinan status berikutnya.
3.NFA dapat menggunakan transisi string kosong sementara DFA tidak dapat menggunakan transisi string kosong.
4.NFA lebih mudah untuk dibangun sementara itu lebih sulit untuk membangun DFA.
5. Pelacakan balik diizinkan dalam 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 membangun mesin NFA untuk setiap input dan output.