NFA dan DFA merupakan dua jenis mesin pengenal pola yang berbeda. NFA bersifat non-deterministik sehingga satu keadaan dapat memiliki lebih dari satu keadaan berikutnya, sedangkan DFA bersifat deterministik dengan satu keadaan memiliki satu keadaan berikutnya. NFA lebih mudah dibuat dibanding DFA namun setiap NFA dapat diubah menjadi DFA.